package com.itheima.ood.demo03;

public class ExtendsDemo01 {

    public static void main(String[] args) {

        // 创建Zi的对象
        /**
         * 创建子类的一个对象，并且我们使用的是无参构造方法，当我们没有在一个类中去定义构造方法，那么系统就会系统一个默认的无参构造
         */
        Zi zi = new Zi();

        /**
         * 子类在进行初始化的时候默认都会去调用Fu类的无参构造方法。
         *
         * 为什么是这样呢？
         *
         * 子类是继承成Fu，后期我们可能会用到Fu的数据，那么我们要使用Fu的数据，我们就需要对Fu进行初始化，要进行初始化就需要使用构造方法
         *
         * 每一个构造方法的第一条语句默认都是：super()；
         *
         * super()必须是构造方法的第一条语句。为什么呢？ 如果不是第一条，那么系统会提供默认的super(),那么就是调用父的构造方法对父类的数据
         * 进行初始化，那么初始化完毕以后，在执行我们自己的super(),那么就会对父类数据在进行初始化,对数据进行了多次初始化，这是不允许的。
         *
         *
         * 我们的一个类默认会继承一个类(Object) ， Object是由jdk给我们提供的
         *
         */

    }

}
